package santeclair.owap.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import santeclair.referentiel.gestionnaire.bean.appweb.Charte;

@Entity
@Table(name = "t_element_charte", schema = "wsparam")
public class CharteElement {

    @Id
    @Column(name = "IDENTIFIANT_ELEMENT_CHARTE")
    @GeneratedValue
    private int idElementCharte;

    @Column(name = "CODE_ELEMENT_CHARTE")
    private String codeElementCharte;

    @Column(name = "TYPE_ELEMENT_CHARTE")
    @Enumerated(EnumType.STRING)
    private TypeElementCharteEnum typeElementCharte;

    @Column(name = "VALUE_ELEMENT_CHARTE")
    private String valueElementCharte;

    @Column(name = "DESCRIPTION_ELEMENT_CHARTE")
    private String descriptionElementCharte;

    @ManyToOne
    @JoinColumn(name = "IDCHARTE", referencedColumnName = "code_charte")
    private Charte charte;

    @ManyToOne
    @JoinColumn(name = "IDAPPLI")
    private Application application;

    /**
     * @return the idElementCharte
     */
    public int getIdElementCharte() {
        return idElementCharte;
    }

    /**
     * @param idElementCharte the idElementCharte to set
     */
    public void setIdElementCharte(int idElementCharte) {
        this.idElementCharte = idElementCharte;
    }

    /**
     * @return the codeElementCharte
     */
    public String getCodeElementCharte() {
        return codeElementCharte;
    }

    /**
     * @param codeElementCharte the codeElementCharte to set
     */
    public void setCodeElementCharte(String codeElementCharte) {
        this.codeElementCharte = codeElementCharte;
    }

    /**
     * @return the typeElementCharte
     */
    public TypeElementCharteEnum getTypeElementCharte() {
        return typeElementCharte;
    }

    /**
     * @param typeElementCharte the typeElementCharte to set
     */
    public void setTypeElementCharte(TypeElementCharteEnum typeElementCharte) {
        this.typeElementCharte = typeElementCharte;
    }

    /**
     * @return the valueElementCharte
     */
    public String getValueElementCharte() {
        return valueElementCharte;
    }

    /**
     * @param valueElementCharte the valueElementCharte to set
     */
    public void setValueElementCharte(String valueElementCharte) {
        this.valueElementCharte = valueElementCharte;
    }

    /**
     * @return the charte
     */
    public Charte getCharte() {
        return charte;
    }

    /**
     * @param charte the charte to set
     */
    public void setCharte(Charte charte) {
        this.charte = charte;
    }

    /**
     * @return the application
     */
    public Application getApplication() {
        return application;
    }

    /**
     * @param application the application to set
     */
    public void setApplication(Application application) {
        this.application = application;
    }

    /**
     * @return the descriptionElementCharte
     */
    public String getDescriptionElementCharte() {
        return descriptionElementCharte;
    }

    /**
     * @param descriptionElementCharte the descriptionElementCharte to set
     */
    public void setDescriptionElementCharte(String descriptionElementCharte) {
        this.descriptionElementCharte = descriptionElementCharte;
    }

}
